Interactive IR electronic white board

ABSTRACT

The present invention discloses an interactive IR electronic white board, around which is an infrared emitting and receiving array. An output port of a column driver of emitting array is connected to high frequency modulating signal generator, and an output port of a column driver of the receiving array is connected to a microprocessor through a signal receiving circuit and an analog-digital converter A/D. The emitting array and the receiving array are connected to emitting and the receiving driver through emitting and receiving driver lines, and the emitting driver and the receiving driver are connected with the microprocessor through address bus. The present invention utilizes the Inverse Square Law of optical theory and the linear direct ratio relation between the quantity change of light particles received by an infrared receiving diode and the output voltage of the receiving diode to associate the output voltage of the receiving diode with the interrupted width of the infrared light path, so that it can calculate the coordinate of interrupter accurately and improve the resolution of infrared scanning. The present invention can not only distribute pens or erase, but can be used by plurality of users at the same time as well.

TECHNICAL FIELD

This invention relates to an interactive infrared electronic white board

BACKGROUND ART

Existing electronic white boards are interactive or non-interactive: aninteractive white board works with a digital projector to displaycomputer display to the white board, making the white board into a superlarge interactive computer touch screen. A uses can use fingers to clickdirectly on the white board to operate the computer system and at thesame time write, draw or modify contents; while the non-interactivewhite board can not be connected to a computer, in that the content ofthe white board can only be stored through printing on paper. There aremany kinds of interactive white boards: one use electromagneticconversion technology and its metal pen generate magnetic field withelectric current passing through; when moving on the white board, trackof the pen can be deduced based on electromagnetic conversion principle,and is converted and recorded as coordinate records; it can provide veryprecise coordinate. However the cost of materials is relatively high andrequired special electronic pen, making it not very convenient to use;another one comprises plastic membrane with resistance networks on upperand lower layers; under no pressure, the plastic membrane ensure noshort circuit through insulating devices; when writing on the board,upper and lower resistance network short circuit under the pressure, andgenerate different voltage for different positions on the resistancenetwork, thus defines the position of the moving pen through change ofvoltage. It does not use special pens, but needs special plasticmembrane to capture moving objects. After prolong use, the plasticmembrane is subject to scratch, which causes white noise. It is alsosubject to environment factors such as temperature, humidity, whichcause the system become unstable; another one uses supersonictechnology, i.e., by adding a special supersonic emitting device on thepen, receivers on left and right top corners of the white board, itcalculates the distance between the object and receivers throughcalculating time difference in emitting and receiving supersonic waves,then use algebra principles to reach the track of the whiting pen. Thisdevice needs re-positioning and adjustment before every use and pen mustbe perpendicular to the writing surface, or errors occur. Specialelectronic pens not only increase cost, but also make it lessconvenient; in order to resolve the special requirement for electronicpens and erasers for existing devices, and dependency on special writingsurfaces, this invention provides a kind of white board utilizinginfrared beams to capture inputs, but because in traditional infraredtouch systems or touch screen technologies, there is limitation onphysical dimensions of electro-optical devices such as emitting andreceiving diodes, if position of moving object is decided by onlyreplying on whether beams of emitting and receiving diodes on identicallight axis is block or not, the maximum resolution of applied whiteboard is the dimension of the emitting or receiving diode. Due to itslow resolution, this type of technology can apply only to applicationsrequires touching only, but not to hand writing input methods. In orderto improve resolution of touch screens, some latest most typicalpatented technologies were published. U.S. Pat. No. 6,429,857 dated Aug.6, 2002 publicized a kind of off axis single emitting multiple receivingtechnology, wherein judgments are based on not only whether a light beamis blocked for emitting and receiving tubs on the same light axis, butalso on off axis blocking using adjacent emitting and receiving diodes.Even though this technology can improve resolution for a certain level,dead corners caused by physical distribution density of infrared diodesand complexity of calculation can cause some errors, which in turn causeproblems in uniformity of resolution and smoothness in capturingobjects. The Chinese patent 00121462.4 dated Feb. 13, 2002 publicized akind of method and structure to improve performance of infrared touchscreens. It uses the lowest point of a hyperbolic model as thecoordinate of the blocking object. This invention claims that when anobject is blocking, output voltages of several blocked diodes forms ahyperbola, by assuming only when the dimension of the blocking object issimilar to that of a finger, and variation of output voltages onreceiving diodes of all channels must fit into changing trend of saidhyperbola, an effective touching event happens, or a precise coordinateis decided. If the blocking object is a 2-5 mm pen head or an objectcannot act like a finger, through which an infrared beam can pass, orthe infrared beam fro the emitting diode cannot reach the blockedreceiving diode through secondary reflection, said hyperbolic judgmentmethod no longer stands. This shows that it is not enough to just copythe current infrared touch screen capturing technologies to electronicwhite boards to capture tracks (or characters) of moving objects onwhite boards.

CONTENT OF THE INVENTION

The purpose of this invention is to provide an interactive infraredelectronic white board which does not need special pens or erasingdevices and special writing surfaces as capturing mechanism, does notsubject to environment factors, is cost effective and with durablesurface, low complexity of electronic circuits, and high resolution.

The main technical scheme for this invention is: An interactive infraredelectronic white board, wherein an infrared emitting array sethorizontally and vertically on its edge and a corresponding infraredreceiving array also set horizontally and vertically on its edge, areconnected respectively with a microprocessor through a row driver and acolumn driver; the output port of the column driver of the infraredemitting array is connected with a high frequency modulated signalgenerator; while the output port of the column driver of the infraredreceiving array is connected with the microprocessor through a signalreceiving circuit and an analog-digital (A/D) converter, the infraredemitting array is connected with the emitting row driver and columndriver through emitting row drive lines and column drive linesrespectively; the infrared receiving array is connected with thereceiving row driver and column driver through receiving row drive linesand column drive lines respectively; through a row address bus, theemitting row driver and the receiving row driver is connected with themicroprocessor, and through a column address bus, the emitting columndriver and the receiving column driver is connected with themicroprocessor, said microprocessor is connected with an externalstorage device, and is connected with a computer through a chip via acontrolling RS232 serial port or an USB port.

This invention utilizes two completely integrated emitting and receivingarrays; each has its own array circuit driver. Therefore it is easy tolayout the circuit board and save driver circuit. Using modular arraysnot only simplify and standardize manufacture, but also make it possibleto produce electronic white board of different size using differentquantity of modules. Furthermore, this invention does not need specialpens or erasing devices, and does not rely on special writing surfaces,does not subject to environment factors, is cost effective, and withhigh surface durability, and can reduce the complexity of electroniccircuits of the electronic white board. In order to increase resolutionof infrared beam capturing, this invention also by using the inversesquare law of the inverse proportion relationship between the density oflight particles and the square of the distance to the light axis,establishes the relationship between variation of voltage on theinfrared receiving diode when the light path is blocked, and the movingdistance of the moving object, thus obtains precise tracking coordinatesof the moving objects, greatly increases resolution of infrared beamcapturing, and finally realizes an infrared electronic white board withtechnology using infrared to capture handwriting, and with highresolution capture capabilities.

DESCRIPTION OF THE FIGURES

The present invention will be described in details in combination withthe accompanying figures and the concrete embodiments.

FIG. 1 shows the layout of the infrared emitting and receiving diodes ofthe electronic white board of this invention;

FIG. 2 is a sectional schematic view of the infrared emitting andreceiving diodes on the electronic white board;

FIG. 3 is the schematic circuit diagram of the infrared emitting andreceiving modules;

FIG. 4 is the circuit board diagram of the infrared emitting andreceiving diode modules;

FIG. 5 is the schematic diagram showing the connections between theinfrared emitting and receiving diode modules;

FIG. 6 is the schematic diagram of the control circuit of the electronicwhite board system;

FIG. 7 is the flow chart for moving object capturing FIG. 8 is the flowchart for identification and recurrence of a single moving object;

FIG. 9 is the flow chart of the conversion sub-program for theanalog-digital (A/D) converter;

FIG. 10 is the flow chart of the interactive mode;

FIG. 11 is the schematic view showing the infrared beam axial tunnel;

FIG. 12 shows the distribution model of light particles around the lightaxis, and voltage variation on the analog-digital A/D converter;

FIG. 13 is the novelized diagram dimension and coordinates of movingobjects

EMBODIMENTS

In order to increase resolution of infrared beam scan capturing, thisinvention establishes a model based on distribution density of lightparticles on the light path, and by using the relationship betweenreduction of density of light particles caused by blocking of light pathby block objects and variation of output voltages on the receivingdiode, establishes a curve equation with a tan(x) function or aquadruple or upper curve equation with the blocking distance as selfvariable x, and the voltage variation on the receiving diode as thefunction. The higher the power of the equation, the more precise theresults. Normally power of five is enough for satisfactory precision. Ofcourse, under circumstance when high precision if not needed, linealequation is feasible. By future using this standard equation tocalculate concrete blocking positions or widths of blocking objects inthe light path, a new method to increase capturing resolution isproposed. By using sequence number of emitting and receiving diodes ascoordinates, and at the same time by using output voltages of thecapturing receiving diode to judge the blocking distance of the blockingobjects in the light path during emitting and receiving, this inventioncan future fractionize the coordinates of the emitting and receivingdiodes, thus provide a very high and precise input resolution. As shownin FIG. 11, its principles are: when the corresponding emitting diode1100, the receiving diode 1102 are located on the same light axis, andform a cylindraceous light path 1103, the sectional diameter of thetunnel is the same as the diameter of the emitting diode convex lens(assuming the convex lenses are the same for the emitting and receivingdiodes). When object 101 moves and pass said light path, part or more ofthe light beam from the emitting diode is blocked, and the light tunnelgradually disappears with the movement of object 1101, light particles(light beam) pass through the tunnel also graduate reduce with themovement of the object. As we now that lights transmit straightly,number of light particles reaching the receiving diode throughdiffraction is very few, and can be ignored. According to opticaltheories, the closer to the center of the light axis, the higher thedensity of light particles (light beam), so the distribution of lightparticles (light beam) on the section of light path is not even, and thedensity of light particles reaching the receiving diode is not evenlydistributed. Therefore, the Inverse Square Law needs to be applied tocalculate the density of the leftover part after the light tunnel isblocked.

The Inverse Square Law in optical theories, i.e., the density of lightparticles (light beam) is inversely proportional to the square of thedistance to the light axial center, establishes the optical particledensity distribution diagram S based on the emitting light beam sectionmodel as shown in FIG. 12, and the curve diagram FIG. 1 of densitydistribution of light particles in the light tunnel, where Y axis is thedensity of light particles in the light path or output voltage values ofthe receiving diode, X axis is the dimension of diameter of the lightpath. In curve I, point D is the vertex of optical particle density,i.e., the center of the tunnel; points C, E is the nadir of opticalparticle density, i.e., the brim of the tunnel.

Blocked part of the light path is bow shaped. During the blockingprocess, the bow gradually grows, i.e., the height of the bow grows. Astandard curve H showing the variation of the quantity of lightparticles (light beam) in the light path caused by moving of the objectalong X axial direction can be deduced by dividing variation ofeffective area of the light tunnel when the object is moving in X axialdirection (i.e., effective area of the light tunnel (area of theunblocked bow shape)=total area of the light tunnel—area of the blockedbow shape) into infinite number of sections, then use model S of theoptical particle density distribution in the tunnel and through calculuscalculation. This standard curve is a standard curve equation with atan(x) function or a multiple power standard curve equation with theblocked distance as self variable x, and variation of voltage on thereceiving diode as function, wherein the point A represent the maximumquantity of light particles, since the tunnel is unblocked; and thepoint B represent a watershed, i.e., only half of light particles pass;and the point E represent the nadir since all of the tunnel is block,allowing no light particles to pass.

Because the quantity of light particles (light bean) in the lightpath=the quantity of light particles (light beam) received by thereceiving diode, and the variation of the quantity of light particles(light beam) is lineally proportional to the output voltage on thereceiving diode, i.e., when said light path is blocked, the standardcurve for optical particle variation is the curve of the variation ofoutput voltage when the infrared diode is receiving infrared beams.

This invention uses an A/D analog-digital converter the variation curveof the output voltages on the receiving diode to moving distances. Itcan divide the amplitude of analogy voltages output by the infraredemitting diode into many portions, and then quantitizes them intodiscreet values. If an 8 bit A/D converter is used, the output can bequantitized into 2⁸=256 different voltage values. We can set the fullmeter voltage of the A/D converter as the voltage value at point A instandard curve H, with the highest value 255 and the lowest value 0, andthen interpolate on standard curve H to located corresponding 256 Xcoordinate on the x axis. Therefore, by substituting voltage values fromthe A/D converter into said standard curve equation, we can obtain thelength (height of the blocked bow shape) of the blocked part when theobject moves in the light path, then compare and interpolate this height(length) against standard data table established from sample data fromexperiments to obtain the final precise length value d. Said standarddata table saved in the microprocessor or the computer is obtainedthrough experiments by listing one to one relationship between voltagevalues generated by infrared receiving diodes when object moving in thelight path and the width di blocked by the object in the infrared lightpath, and by combining different diameters of emitting and receivingdiodes. The microprocessor can obtain the value of the width d_(i)blocked by the object in the infrared light path by looking up saidtable directly with the voltage values generated by the infraredreceiving diode, thus capture, identify, recur and save the coordinatesof moving objects on the infrared electronic white board; or it caninterpolate the width d_(i) blocked by the object in the infrared lightpath obtained from the curve function with said table to obtain moreprecise values.

As shown in FIG. 13, assuming L is the dimension of the receiver(emitter), W is the diameter of the blocking object, d is the widthblocked by the object in the light tunnel, i.e., the height of theblocked row shape, j is the sequence number of receiving diodes on Xaxis, k is the sequence number of receiving diodes on Y axis.

As shown in FIG. 13, the diameter of the moving object M1 (i.e., widthof the blocked part of the receiving diode) is:W=d ₇ +d ₈ +d ₉

It can be deduced that the mathematic expression for the diameter of themoving object is:

$\begin{matrix}{{W = {{\sum\limits_{i = j}^{N}d_{i}} = {d_{j} + {d_{j + 1}\;\Lambda\mspace{11mu} d_{j + n}}}}},} & {N = {j + n}}\end{matrix}$

The mathematic expression for the X, Y coordinates is:

$\begin{matrix}{X = {{j \times L} - d_{j} + {\left( {\sum\limits_{i = j}^{N}d_{i}} \right) \div 2}}} \\{Y = {{k \times L} - d_{k} + {\left( {\sum\limits_{i = k}^{N}d_{i}} \right) \div 2}}}\end{matrix}$

Substituting known numbers j, k, L, d into said formula, dimension andprecise coordinate of any blocking object can be obtained.

As shown in FIG. 13, the distance between moving objects M1(X1, Y1) andM2(X2, Y2) is:D=√{square root over ((X2−X1)²+(Y2−Y1)²)}{square root over((X2−X1)²+(Y2−Y1)²)}

It can be deduced that the mathematic expression of the distance betweencoordinates of an object captured in cycle n and cycle n−1 is:D _(n)=√{square root over ((X _(n) −X _(n−1))²+(Y _(n) −Y_(n−1))²)}{square root over ((X _(n) −X _(n−1))²+(Y _(n) −Y _(n−1))²)}

The mathematic expression of the distance between two moving object m,m−1 when multiple objects are captured in cycle n is:D(m)=√{square root over ((X(m)_(n) −X(m−1)_(n))²+(Y(m)_(n)−Y(m−1)_(n))²)}{square root over ((X(m)_(n) −X(m−1)_(n))²+(Y(m)_(n)−Y(m−1)_(n))²)}{square root over ((X(m)_(n) −X(m−1)_(n))²+(Y(m)_(n)−Y(m−1)_(n))²)}{square root over ((X(m)_(n) −X(m−1)_(n))²+(Y(m)_(n)−Y(m−1)_(n))²)}

If an object m is captured during two consecutive cycles n, n−1, themathematic expression for distance of coordinates of the object m indifferent cycles is:D(m)_(n)=√{square root over ((X(m)_(n) −X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over ((X(m)_(n) −X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over ((X(m)_(n) −X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over ((X(m)_(n) −X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}

To further increase precision, a standard data table of variation ofoutput voltages from the receiving diode obtained through experiments isrequired to be established in the microprocessor or the computer. Saidvoltage variation values represent the changing process of the lightpath from large to small when blocked by a moving object; the table hasdifferent voltages values and corresponding moving positions ordistance. The purpose of building the standard table is to using thedata from experiments as reference, and compare it against voltagevalues from the A/D converter during scanning process, then to obtainmoving coordinates, or to compare or interpolate the said values againstcoordinate values obtained from standard curve equations to finallyobtain precise coordinates.

While capturing objects, to obtain moving tracks of objects on the whiteboard, the white board must rapidly scan through every emitting andreceiving units receptively from the first pair of emitting andreceiving diodes to the last units, thus finish on scanning cycle, thencontinuously and rapidly report said scanning cycle to capturecoordinates of moving objects and instantly upload captured coordinatesto the computer. To precisely realized track recurrence of handwritingwhich including breaking strokes or continuous strokes, it is necessaryto make precise judgment on braking or continuous strokes. Throughapplication software, this invention obtains the D values by calculatingthe distance between the coordinate captured during last cycle and thecoordinate captured during the current cycle, then use this value tojudge if a coordinate is a point or the starting of new line, or justcontinues a line. If it continues a line, the application connects twoadjacent coordinates with a line; if not, the application draws a pointon the coordinate with simultaneous display on the computer screen. Thisway, capture and recurrence of the moving object track are realized.

The advantage of using difference of distance to judge two adjacentcoordinates is that it can simultaneously replay the tracks of multiplecaptured coordinates. This method is different from methods used byexisting infrared touch screen or some computer handwriting boards.Existing track recurrence methods depend on by judging if objects leavethe capturing range (or surface) to decide if a coordinate is starting anew line or continuing a line. If multiple users are writing on thecapturing surface (i.e., the white board), it is very complex anddifficult to use this method to judge which and when a subject leave thecapturing range. Therefore it is very difficult to recur tracks of handwriting on the while board by multiple users. The method in thisinvention happens to conquer the obstacle of this multiple user issue.

Capturing of objects is through scanning, starting from the first pairof emitting and receiving diode to the last pair, to complete a scanningcycle. Automatic identification of erasing devices is based on its sizeW value. After one scanning cycle, if it can be decided that thedimension of the moving object is bigger than the size (defined by usersthrough software) of the pen (pen head), the moving object on the whiteboard can be it is determined as an eraser. Under normal conditions, theidentified objects should be close to a circle. This erasing devicecould be a white board eraser, or a finger, since when a finger moves onthe surface, its contact surface is similar to an ellipse, which can betreated as a circle. We will describe how a round erasing device iscaptured, processes and realized.

The basic principle of capturing the moving track of the erasing deviceor replay of screen erasing effects is the same as that of the pencapturing. From previous description we know that the dimension of themoving object can be calculated through the blocked length of thereceiving diode. Similarly, through following formula we can obtain thediameter of the erasing device:

$\begin{matrix}{{W = {{\sum\limits_{i = j}^{N}d_{i}} = {d_{j} + {d_{j + 1}\;\Lambda\mspace{11mu} d_{j + n}}}}},} & {N = {j + n}}\end{matrix}$

After the computer receives the coordinate, and the diameter W of theobject, application software draws a white solid circle at thecoordinate (X,Y) of the moving object using diameter W, then followingthe movement of the object, repetitively draw solid circles of diameterW at the received coordinates (Xn, Yn), thus realizes erasing functions.

Of course, this method can only be applied to regular circles. If theobject were rectangular or square, the user must set the erasing deviceperpendicular to the white board to go through a identification scan bythe system, so that the length and width of the rectangular or squarecan be captured and the length of he diagonal is calculated, then bycalculating rotated angle of the rectangular or square using algebraprinciples, erasing area and track can be obtained.

After explaining the working principles of this invention, following aredescriptions of structure and application programs using attachedfigures:

FIG. 1 shows the layout of the infrared emitting and receiving diodesused in this invention. Wherein an infrared emitting array is dividedinto two parts: one part 102 is located at the left edge of the whiteboard, the emitting diodes thereof are aligned in sequence numbers foremitting and scanning on Y axis; the other part 101 is located at thetop edge of the white board, the emitting diodes thereof are aligned insequence numbers for emitting and scanning on X axis. The infraredreceiving array is also divided into two parts: one part 103 is locatedat the opposite side of the part 102, the receiving diodes thereof arealigned in sequence numbers for receiving and scanning on Y axis; theother part 104 is located at the opposite side of the part 101, thereceiving diodes thereof are aligned in sequence numbers for receivingand scanning on X axis. All of parts 101, 102, 103, 104 are modulizedand formed with connectors, with each module comprising of emitting andreceiving units.

Wherein on X axis, each paired emitting and receiving diodes are one toone related, and has same X axial sequence number. When there is noobject moving between the emitting diode and the receiving diode, thereceiving diode can normally receive the high frequency pulse signalsent by the emitting diode. If an object moves on X axial direction,infrared signal sent by one or more emitting diodes are blocked by theobject 105, such that the corresponding receiving diode can not receivenormal pulse singles. At the same time, according to the sequence numberof the receiving or emitting diodes on that location, by the means ofthe A/D conversion program, the width of the blocked portion in thelight path blocked by the moving object can be calculated. Then, byusing the following formula, coordinate value X of the object 105 movingon the X axis can be known.

Similarly, on Y axis, each paired emitting and receiving diodes are oneto one related, and has same Y axial sequence number. If an object moveson Y axial direction, certain receiving diode on Y axis

$\begin{matrix}{X = {{j \times L} - d_{j} + {\left( {\sum\limits_{i = j}^{N}d_{i}} \right) \div 2}}} \\{Y = {{k \times L} - d_{k} + {\left( {\sum\limits_{i = k}^{N}d_{i}} \right) \div 2}}}\end{matrix}$cannot receive pulse signals sent by the emitting diode; by the means ofthe above mentioned method, coordinate value Y of the object 105 movingon the Y axis can be obtained. By repeatedly outputting pulse signals toeach of the infrared emitting diodes on X and Y axis, scanning isperformed, and at the same time, signals from each correspondingreceiving diode are read, thereby the track of the moving coordinates ofthe object 105 on X and Y axis is obtained.

FIG. 2 is a sectional schematic view of the invention, wherein 203 isthe writing surface, which can be made of any surface materialsincluding durable ceramic metal white board, or economical plasticsplayed metal white board. 201 is an infrared emitting diode on the leftor top edge of the white board. 206 is the circuit board of the infraredemitting module. 202 is a filtering device which is located between theinfrared emitting diode and the receiving diode, made of dark redtransparent plastic materials, and is mainly used for filtering outinterfering day lights. This device can increase the quality of receivedinfrared signal to avoid malfunction caused by error codes. 205 is aninfrared receiving diode located on the right or bottom edge of thewhite board. 208 is the circuit board of the infrared receiving module.204 is an infrared filtering device same as 202. 207, 209 are aluminumalloy outer frames surrounding four side of the white board to protectinfrared diodes. 201 and 205 are one to one related, having samesequence numbers on X or Y axis. Circuit boards 206, 208 of the infraredemitting and receiving diodes are installed on two sides of the outerframe, perpendicular to the white board surface.

FIG. 3 is the schematic circuit diagram of infrared emitting andreceiving modules, wherein each infrared diode on the emitting module isconnected in the form of an array. Arrangement and dimension of thearrays can be decided based on the dimension of the white board. One ofthe arrangements of arrays of this invention is as follows, but it isnot a limitation to this invention. As shown in the figure there is a32×2 array, in which there are 32 row drive lines 305, with one endconnected with two connecters 301, 302 respectively, and the other endconnected with positive poles of each infrared emitting diode orinfrared receiving diode. There are 2 column drive lines 306, with oneend connected with the connector 303, the other end connected withnegative poles of each infrared emitting diode or receiving diode 304.

FIG. 4 is the layout of components on the printed circuit board (PCB) ofinfrared emitting or receiving diode modules, wherein on two ends of thePCB 407 are two row drive line connectors 401 and 406 (i.e., 301 and 302in FIG. 3) connected with 32 row drive lines, which are used forconnecting row drive lines between modules. There are two connectors 403(i.e., 303 in FIG. 3) connected to column drive lines. There are totally64 infrared emitting diodes or receiving diodes soldered directly on thePCB. The positive pole of each emitting or receiving diode is connectedwith connectors 401 and 406, and the negative pole is connected withcolumn drive lines, forming a 32×2 array. 404 is a bolt hole for fixingsaid module.

FIG. 5 is a schematic diagram showing the connection between theinfrared emitting and receiving diode modules. As shown in the diagram,the white board 501 is surrounded by multiple infrared modules, wherein,the quantity of infrared modules is decided by the dimension of thewhite board. As shown in the diagram, the emitting array has 21 emittingmodules, among which 9 modules are located at the left side of the whiteboard 501, used for infrared emitting and scanning on Y axis; 12 modulesare located on the upper edge of 501, used for infrared emitting andscanning on X axis. Similarly, on the opposite side of the emittingmodules, there are same quantity of receiving modules. If the size ofinfrared diodes used in this invention is 2 mm, effective writing areaof the white board can be calculated according to following method:dimension of the module is 64×2 mm=128 mm, and the scanning range on Xaxis is 128×12 (emitting module)=1536 mm; with the same method, thescanning range on Y axis is calculated to be 1152 mm, thus effectivearea of the white board is 1536×1152 square millimeters. To increase orreduce the dimension of the white board, we can adjust the number ofmodules used, or use infrared diode of different size. If the size is 5mm, the dimension of the white board is 3840 mm×2880 mm.

As mentioned above, modules are connected with each other withconnectors. As shown in FIG. 5, the emitting modules 502 are connectedhead to tail to form a 32×42 infrared emitting array, wherein there aretotally 32 row drive lines 504 between modules, then the modules areconnected with the column driver port 506. There are 21 pairs, 42 columndrive lines 503 of emitting modules connected with the row driver port505 of the emitting array of the control panel. Receiving modules areconnected in the same way. Receiving modules 507 are connected head totail. There are 32 row drive lines 509 connected with the row driverport 511 of the receiving array. There are 42 column drive lines 508connected with the column driver port 510 of the receiving array,forming a 32×42 infrared receiving array.

There are 1344 emitting diodes in the 32×42 infrared emitting array, and1344 receiving diodes in the 32×42 receiving array, for capturing movingobjects on the white board. Scanning is started from the first pair ofemitting and receiving diodes, and is followed according to sequencenumber, until all 1344 pairs of emitting and receiving diodes arescanned, thereby a scanning cycle is completed. To capture smooth andcontinuous moving coordinates, the faster the scanning cycle, thebetter, the more scans in one second, the better.

FIG. 6 is the schematic diagram of the control circuit of the core partof this invention, comprising four parts:

The first part is microprocessor based controller comprising amicroprocessor 637, mainly used for outputting the address signals ofthe emitting or receiving diodes to be scanned, controlling theconducting of a pair of emitting and receiving diodes, and recordingmoving positions of the object and uploading coordinate data to thecomputer, and so on. The LED indicator 634 indicates working status ofthe white board. The power source 633 supplies power to themicroprocessor. 632 is a crystal to generate oscillating frequencyrequired for the microprocessor.

The second part is the control circuit for infrared emitting, whereinone input terminal of the row driver 606 of the emitting array isconnected with the positive pole of the power source 638 through acurrent-limiting resistance, providing voltage to emitting diodes, andthe output terminals of the row driver are 32 row drive lines 609connected with the positive pole of each emitting diode on the emittingarray 611. Meanwhile, the input port of the column driver 607 comprises42 column drive lines 610 connected with the negative pole of eachemitting diode of the emitting array, and the output port of the columndriver is connected with a high frequency modulated signal generator,which generates high frequency pulse signals and emits infrared signalswith high frequency modulation.

Wherein the row driver 606 switches on the input port and outputterminal according to the “row” address code from the microprocessor,i.e., a row of the row driver lines 609 pointed by said address code areconducting; the column driver 607 switches on the output port and inputterminal according to the “column” address code from the microprocessor,i.e., a column of the column driver lines 610 pointed by said addresscode are conducting; circuit 611 comprises an array of emitting diodeslinked by 21 emitting modules, as shown in FIG. 5; unit 601 is one ofthe switched-on emitting diodes in circuit 611; the high frequencymodulated signal generator 640 provides a high frequency modulation ofabout 300 KHz to the conducting emitting diode 611.

The third part is the control circuit for infrared receiving, whereinone input port of the row driver 616 of the receiving array is connectedwith the positive pole of the power source, providing voltage toreceiving diodes, and the output terminal comprises 32 row drive lines619 connected with the positive pole of each receiving diode on thereceiving array 621. The input port of the column driver 617 comprises42 column drive lines connected with the negative pole of each receivingdiode on the receiving array 621, and the output terminal is couplingconnected with a band-passing filter 641, which can filter out uselessinterfering signals. Then, useful high frequency signal is amplifiedthrough a multistage band-pass amplifier 642, and demodulated through amodem 643. The optical-electronic analog signal, after beingdemodulated, is input into the analog-digital (A/D) converter 644. The 8bit binary digital signal after A/D conversion is output to themicroprocessor.

Wherein the row driver 616 switches on the input port and outputterminal according to the “row” address code from the microprocessor,i.e., a row of the row drive lines 619 pointed by said address code isconducting; the column driver 617 switches on the output port and inputterminal according to the “column” address code from the microprocessor,i.e., a column of the column drive lines 620 pointed by said addresscode is conducting. Similarly, the circuit 621 comprises an array ofreceiving diodes linked by 21 receiving modules, as shown in FIG. 5; theunit 622 is one of the switched-on receiving diodes in the circuit 621.

The row drivers 606, 616 of the above mentioned emitting and receivingarrays are connected with the microprocessor through the row address bus602; and the column drivers 607, 617 of the emitting and receivingarrays are connected with the microprocessor through the column addressbus. Drivers 606, 607 are controlled by the microprocessor through theaddress bus 602 with 5 lines, i.e., there are 2⁵ choices ofcombinations, providing different addressing for 32 row drive lines;drivers 616, 617 are controlled by through the address bus 604 with 5lines, providing different addressing for 32 column drive lines.

In the above mentioned circuits, the driver circuits 606, 607, 616, 617can each comprises one or more units of driver chips. When the row drivelines or column drive lines of the drivers are not enough for use, moredrive chips are needed. By the means of the optional lines 603, 605,different chips can be selected to be used in scanning of row and columndrive lines. Each driver needs one optional line. If the row drivercircuit 606 can drive 32 drive lines, one driver and one optional lineis enough. When the column driver circuit 607 needs to have drivingcapacity for 42 lines, 2 drivers are needed, and at the same time 2optional lines are needed to select driver chips. In this way, withoutincreasing address lines, driving capacity of the driver circuit can bedoubled by doubling the number of driver chips, i.e., by using 2 driverswith 32 line driving capacity, and using 2 optional lines, i.e., theemitting row driver 606 and the receiving row driver 616 can beconnected with the microprocessor 637 through the row selecting addressbus 603, the emitting column driver 607 and the receiving column driver617 can be connected with the microprocessor 637 through the columnselecting address bus 605, thus the array of 64 row or column drivelines can be driven without increasing the number of address bus. Inthis embodiment, it is enough to use two driver chips for driving 42column drive lines of this device.

The forth part is the external device mainly comprising a storage devicesuch as a multi-media card (MMC) 631 or a SmartMedia (SD) card, and acommunication integrated circuit 626 controlling the RS232 serial port.Since the input voltage of the RS232 serial port of the computer 628 isdifferent from the output voltage of the microprocessor, thecommunication between this invention and the computer is through theintegrated circuit 626. 626 converts voltage signals from themicroprocessor 637 to voltage signals recognizable by the RS232 serialport of the computer, then the signals from the RS232 port are read inby the application program. After processing, the microprocessor uploadscaptured data including coordinates of moving objects, dimension ofobjects, and scanning cycle sequence numbers to the computer throughRS232, and saves the data into the memory 631. When the device is neededto be operated independently, this invention can directly using themicroprocessor 637, after reading data saved in the storage device 631,then the data is transmitted through the parallel bus 635, so that thecaptured picture is output directly to the parallel ports for printing.

The main steps of this invention for capturing and storage of thecoordinates of moving objects will be described in details according tothe flow chart of one embodiment as shown in FIG. 7:

Assuming: n is the scanning cycle sequence number; i is a constantranging from 1 to ∞; W is the diameter of the moving object; L is thephysical dimension of the receiving diode; m is the object ID number;X(m) is the X coordinate of the object m; Y(m) is the Y coordinate ofthe object m.

-   1. The microprocessor writes the “row” and “column” address codes    into “00H”, and outputs it to the row and column driver address bus    of the emitting and receiving diode array through address ports;-   2. Row and column drivers of the emitting array switch on the    emitting diode located on the corresponding row and column, said    diode then starts to emit infrared high frequency modulated pulses;    at the same time, row and column drivers of the receiving array    switch on the corresponding receiving diode, since each pair of    emitting and receiving diode is located on the same optical axis,    corresponding one to one, the receiving diode starts to output    analogy pulse signals;-   3. Following step 2, a receiving conversion circuit converts the    received analog pulse signal into analog voltage range signal, then    inputs it to the analog-digital (A/D) converter, which in turn    converts the analog voltage amplitude signal into discrete values;-   4. Following step 3, the microprocessor reads A/D voltage values    from the A/D signal input port, and makes judgments: if the value is    near the peak value of the A/D voltage curve, i.e., when A/D value    is at full range, the judgment is that there is no blocking event,    and going to the next step; otherwise, the judgment is that a    blocking event happens, then the microprocessor runs the conversion    sub-program concerning the A/D voltages and moving coordinates, so    as to obtain the Xn or Yn coordinate values, and going to the next    step;-   5. Following step 4, judging whether the microprocessor timer    overflows, if yes, going to step 6; otherwise, back to step 2;-   6. At this stage, a scanning cycle for a unit, i.e., scanning for a    pair of emitting and receiving diodes, has accomplished; then the    microprocessor judges if scanning of all row drive lines of all    emitting and receiving arrays have been finished; if yes, going to    step 8; otherwise going to the next step;-   7. The microprocessor adds “01H” to the “row” address code, and    outputs it to the address bus of the row driver, then scanning of    the next row of the emitting and receiving arrays starts; back to    step 2;-   8. Judging whether scanning of all column drive lines of all    emitting and receiving arrays is finished, if yes, going to step 10;    otherwise going to the next step;-   9. The microprocessor adds “01H” to the “column” address code,    resets the “row” address code to “00H”, then outputs the “column”    address code to the address bus of the column driver, and outputs    the “row” address code to the address bus of the row address driver;    the scanning of the next column of the emitting and receiving arrays    begins, then back to step 2;-   10. At this stage, a full scanning cycle, i.e., scanning of all    emitting and receiving diodes, has finished; a check is then made on    if there is an moving object captured; if not, going to step 12; if    yes, going to the next step;-   11. If a single object is captured, storing the coordinates (Xn, Yn)    of the moving object and the W values into the MMC storage device    connected with the microprocessor based on the sequence number n of    the scanning cycle, and uploading the data to computer through RS    232 port; then going to step 14; if multiple objects are captured,    storing coordinates (X(m)n, Y(m)n), (X(m+1)n, Y(m+1), . . . ,    (X(m+i)n, Y(m+i)n) of the moving objects captured in this cycle and    W(m), W(m+1), . . . , W(m+i) values into the MMC storage device    connected with the microprocessor based on the sequence number n of    the scanning cycle, and uploading the data to computer through RS    232 port; then going to step 14;-   12. Judging if the interactive mode of the computer is on, if not,    going to step 14; if yes, going to the next step;-   13. Judging if the coordinate (X(n−1), Y(n−1)) was captured during    last scanning cycle, if yes, uploading a “terminated” mark through    the RS232 port to the computer to notify the application program    that the moving object has left the capturing range; then going to    the next step; if not, going to the next step;-   14. The microprocessor resets the row address code to “00H”, and the    column address code to “00H”, and outputs the “column” address code    to the column driver address bus, the “row” address code to the row    driver address bus; then returning to step 2 to continue next    scanning cycle.

By repeating steps 1-14, the microprocessor uploads captured coordinatesof moving objects to computer application program through RS232, andthen the captured coordinates are connected and re-constructed on thecomputer screen by the means of the computer application program, thusthe screen recurrence is realized.

The main steps of this invention for conversion of the A/D voltage andmoving coordinates will be described in details according to the flowchart of one embodiment as shown in FIG. 9:

Assuming: L is the dimension of the receiving diode (emitting diode); Wis the diameter of the blocking object; d is the width of the blockedportion in the light path blocked by the object, j is the sequencenumber of the receiving diode on X axis, k is the sequence number of theemitting diode on the Y axis; X(m) is the X coordinate of the object m;Y(m) is the Y coordinate of the object m.

1. After the microprocessor reads in the data from the A/D converter, itsubstitutes the data into a standard curve equation to get the length orwidth di of the blocked portion in the light path of this receivingdiode by the blocking object, i.e., the height of the bow shape of theblocked portion;

2. Then comparing the value di to the data table of the output voltagevariation curve of the receiving diode collected from experiments,interpolating, valuing, so as to get the final precise position di;

3. Using the following equation, by the means of substituting the knownnumbers j, k, dimension L of the receiving diode, height di of the bowshape of the blocked portion in the light path, calculating for thecoordinates, the final moving positions on X, Y axis of the objectcaptured during scanning cycle n are:

$\begin{matrix}{X_{n} = {{j \times L} - d_{j} + {\left( {\sum\limits_{i = j}^{N}d_{i}} \right) \div 2}}} \\{Y_{n} = {{k \times L} - d_{k} + {\left( {\sum\limits_{i = k}^{N}d_{i}} \right) \div 2}}}\end{matrix}$

4. Storing said coordinate values Xn or Yn of the moving objects intothe registers of the microprocessor; if multiple users are using thewhite board, i.e., more than one coordinates exist on axis X or Y, then,saving multiple (X(m), X(m+1)n . . . X(m+i)n or multiple (Y(m)n,Y(m+1)n, . . . Y(m+i)n) into the registers of the microprocessor;

5. Returning to the main program.

The main steps of this invention for capturing, track reconstruction andstoring a single moving object will be described in details according tothe flow chart of one embodiment as shown in FIG. 8:

Assuming: n is the scanning sequence number; I is a constant rangingfrom 1 to ∞; W is the diameter of the moving object; L is the physicaldimension of the receiving diode.

1. The computer scans the RS232 port through the application program,and after reading coordinates (Xn, Yn) values and scanning cyclesequence numbers uploaded from the microprocessor, the applicationprogram starts to judge whether there are (X(n−1), Y(n−1)) coordinatescaptured during last scanning cycle; if not, going to step 3; if yes,going to the next step;

2. Substituting coordinates (X(n−1), Y(n−1)) captured during lastscanning cycle and the current coordinates (Xn, Yn) into the equation tocalculate the distance between coordinates and to reach value D, thencomparing D to the standard value, which is adjusted based on users'needs, but should not be less than 2W; if D<2w, then, going to step 4;if D≧2W, going to the next step;

3. Judging whether this is a starting point of another line or adifferent point, then judging type of the object; assuming W≦2L, whichcan be adjusted based on users' needs, then, it is confirmed that themoving object is a pen, the application software starts to draw a blackpoint of diameter W at the corresponding position of coordinates (Xn,Yn) on the screen; if W>2L, it is confirmed the moving object is aneraser, then the application software draws a white point of diameter Wat the corresponding position of coordinates (Xn, Yn), i.e., erasing thepoint; then going to step 5;

4. Going on to judge the type of the object, if W≦2L, which can beadjusted based on users' needs, it is confirmed that the object is apen, and connecting points of coordinates (X(n−1), Y(n−1)) and (Xn, Yn)with a black line of diameter W, then going to the next step; if W>2L,it is confirmed that the moving object is an eraser, connecting pointsof coordinates (X(n−1), Y(n−1)) and (Xn, Yn) with a white line ofdiameter W, then going to the next step;

5. Continuing to scan the RS232 port, then returning to step 1.

By repeating steps 1 to 5, points of coordinates (X_(n+i), Y_(n+i)) and(X_(n+(i−1)), Y_(n+(i−1))) are connected continuously, thus the track ofthe moving object or handwriting can be re-constructed in real time onthe white board on the computer screen, and the image can be stored orretrieved at any time based on users' needs.

The main steps of this invention for realizing simultaneously writing bymultiple users, i.e., identifying, track reconstruction and storage formultiple objects are as follows:

Assuming: n is the scanning cycle sequence number, i is a constantranging from 1 to ∞, m is the object identification sequence number;X(m) is the X coordinate of the object m, Y(m) is the Y coordinate ofthe object m; D is the distance between different objects; L is thedimension of emitting or receiving diode; W is the diameter of a movingobject.

1. The computer scans the RS232 port through the application program,and after reading coordinate values (X(m)n, Y(m)n), (X(m+1)n, Y(m+1)n),. . . (X(m+i)n, Y(m+i)n), W(m), W(m+1), W(m+i) and sequence numbers ofscanning cycles uploaded from the microprocessor, then saves those datainto the computer memory, and uses the W value to decide the type ofobjects, i.e, if W(m) or W(m+1) or W(m+i)≧2L, which can be adjustedbased on users' needs, and might be W>3L or another value, if yes, it isdetermined that the object is an eraser, then exiting the multipleobject capturing program, and going to the single object capturingprogram; otherwise, it is determined that the objects are multipleblocking objects, and going to the next step;

2. Substituting coordinate values (X(m)_(n), Y(m)_(n)), (X(m+1)_(n),Y(m+1)_(n)), . . . (X(m+i)_(n).

Y(m+i)_(n)) into the equation

${{D\left( {m + i} \right)} = \sqrt{\left( {{X\left( {m + i} \right)} - {X\left( {m + \left( {i - 1} \right)} \right)}} \right)^{2} + \left( {{Y\left( {m + i} \right)} - {Y\left( {m + \left( {i - 1} \right)} \right)}} \right)^{2}}},$and calculating distance between different objects within one cycle, toreach the value D(m+i); then judging if those coordinates arecontinuous, i.e., if D(m+i)<2W; if yes, it is determined that the objectis an eraser, and going to the single object capturing program;otherwise, it is determined that the objects are multiple block objects,and going to the next step;

3. The application program starts to judge if coordinates of the movingobjects (m)_(n−1), (M+1)_(n−1), . . . (m+i)_(n−1) m were captured duringlast scanning cycle; if object m was captured, going to the step 4; ifobject m was not captured, drawing a point of width W(m) at the positionof coordinate (X(m)_(n), Y(m)_(n)), then going to the step 7; if objectm+1 was captured, going to the step 5; if object m+1 was not captured,drawing a point of width W(m+1) at the position of coordinate(X(m+1)_(n). Y(m+1)_(n)), then going to step 7; if object m+i wascaptured, going to the step 6; if object m+i was not captured, drawing apoint of width W(m+i) at the position of coordinate (X(m+i)_(n),Y(m+i)_(n)), then going to the step 7;

4. Substituting the coordinate (X(m)_(n−1), Y(m)_(n−1)) of the object mcaptured during last scanning cycle and the current coordinate(X(m)_(n), Y(m)_(n)) into the formula D(m)_(n)=√{square root over((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)} to calculate distance;if the result D(m)_(n)≧2L ,then it is determined what object m drawn wasa starting point of a line, or a point, then going to the step 7; ifD(m)_(n)<2L, connecting the points of coordinates (X(m)_(n−1),Y(m)_(n−1)) and X(m)_(n), Y(m)_(n)) with a line of width W(m), thengoing to the step 7;

5. Substitute coordinate (X(m+1)_(n−1), Y(m+1)_(n−1)) of the object m+1captured during the last scanning cycle and the current coordinate(X(m)_(n), Y(m)_(n)) into the formula

${D\left( {m + 1} \right)}_{n} = \sqrt{\left( {{X\left( {m + 1} \right)}_{n} - {X\left( {m + 1} \right)}_{n - 1}} \right)^{2} + \left( {{Y\left( {m + 1} \right)}_{n} - {Y\left( {m + 1} \right)}_{n - 1}} \right)^{2}}$to calculate distance; if the result D(m+1)_(n)≧2W ,then it isdetermined that what object m+1 drawn was a starting point of a line, ora point, then going to the step 7; if D(m+1)_(n)≧2W, connecting thepoints of coordinates (X(m+1)_(n−1), Y(m+1)_(n−1)) and X(m+1)_(n),Y(m+1)_(n)) with a line of width W(m+1), then going to the step 7;

6. Substituting coordinate (X(m+i)_(n−1), Y(m+i)_(n−1)) of the objectm+1 captured during the last scanning cycle and the current coordinate(X(m+i)_(n), Y(m+i)_(n)) into the formula

${D\left( {m + i} \right)}_{n} = \sqrt{\left( {{X\left( {m + i} \right)}_{n} - {X\left( {m + i} \right)}_{n - 1}} \right)^{2} + \left( {{Y\left( {m + i} \right)}_{n} - {Y\left( {m + i} \right)}_{n - 1}} \right)^{2}}$to calculate distance; if the result D(m+i)_(n)≧2W ,then it isdetermined what object m+1 drawn was a starting point of a line, or apoint, then going to the step 7; if D(m+i)_(n)<2W, connecting points ofcoordinates (X(m+i)_(n−1), Y(m+i)_(n−1)), Y(m+1)_(n)) with a line ofwidth W(m+i), then going to the step 7;

7. Continuing to scan the RS232 port, then returning back to step 1.

-   -   1. The computer scans the RS232 port through the application        program, and read coordinate values (X(m)n, Y(m)n), (X(m+1)n,        Y(m+1)n), . . . (X(m+i)n, Y(m+i)n), W(m), W(m+1), . . . W(m+i)        and scanning sequence numbers uploaded from the microprocessor,        then save those data into the computer memory, and uses the W        value to decide the type of objects, i.e, if W(m)or W(m+1)or        W(m+i)≧2L (this condition can be adjusted based on user needs;        it might be W>3L or another value), it is determined the object        to be an eraser, and exits the multiple object capturing        program, and move on to single object capturing program; if not        it is determined the object to be multiple blocking objects, and        going to the next step;    -   2. Substitute coordinate values (X(m)_(n), Y(m)_(n)),        (X(m+1)_(n). Y(m+1)_(n)), . . . (X(m+i)_(n), Y(m+i)_(n)) to the        equation

${{D\left( {m + i} \right)} = \sqrt{\left( {{X\left( {m + i} \right)} - {X\left( {m + \left( {i - 1} \right)} \right)}} \right)^{2} + \left( {{Y\left( {m + i} \right)} - {Y\left( {m + \left( {i - 1} \right)} \right)}} \right)^{2}}},$

-   -    and calculate distance between different objects within one        cycle, to reach the value D(m+i); then judge if those        coordinates are consequent, i.e., if D(m+i)<2W; if yes, it is        determined the object as an eraser, and move to single object        capturing program; if not, it is determined the object as        multiple block objects, and move to next step;    -   3. The application program starts to judge if coordinates of the        moving objects (m)_(n−1), (m+1)_(n−1), . . . (m+i)_(n−1) m were        captured; if object m was, going to the step 4; if object m was        not, draw a point of width W(m) at coordinate (X(m)_(n),        Y(m)_(n)), then going to the step 7; if object m+1 was, going to        the step 5; if object m+1 was not, draw a point of width W(m+1)        at coordinate (X(m+1)_(n). Y(m+1)_(n)), then going to the step        7; if object m+i was, going to the step 6; if object m+i was        not, draw a point of width W(m+i) at coordinate (X(m+i)_(n),        Y(m+i)_(n)), then going to the step 7;    -   4. Substitute the coordinate (X(m)_(n−1), Y(m)_(n−1)) of the        object m captured during last scanning cycle and the current        coordinate (X(m)_(n), Y(m)_(n)) into the formula        D(m)_(n)=√{square root over        ((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−))²)}{square root over        ((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−))²)}{square root over        ((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−))²)}{square root over        ((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−))²)} to calculate        distance; if the result D(m)_(n)≧2L, then it is determined what        object m drawn was a starting point of a line, or a point, then        going to the step 7; D(m)_(n)<2L, connect coordinate X(m)_(n−1).        Y(m)_(n−1)) and X(m)_(n). Y(m)_(n)) with a line of width W(m),        then going to the step 7;    -   5. Substitute coordinate (X(m+1)_(n−1), Y(m+1)_(n−1)) of the        object m+1 captured during the last scanning cycle and the        current coordinate (X(m)_(n), Y(m)_(n)) into the formula

${D\left( {m + 1} \right)}_{n} = \sqrt{\left( {{X\left( {m + 1} \right)}_{n} - {X\left( {m + 1} \right)}_{n - 1}} \right)^{2} + \left( {{Y\left( {m + 1} \right)}_{n} - {Y\left( {m + 1} \right)}_{n - 1}} \right)^{2}}$

-   -    to calculate distance; if the result D(m+1)_(n)≧2W ,then it is        determined what object m+1 drawn was a starting point of a line,        or a point, then going to the step 7; if D(m+1)_(n)≧2W, connect        coordinate (X(m+1)_(n), Y(m+1)_(n−1)) and X(m+1)_(n),        Y(m+1)_(n)) with a line of width W(m+1), then going to the step        7;    -   6. Substitute coordinate (X(m+i)_(n−1)Y(m+i)_(n−1)) of the        object m+1 captured during the last scanning cycle and the the        current coordinate (X(m+i)_(n), Y(m+i)_(n)) into the formula

${D\left( {m + i} \right)}_{n} = \sqrt{\left( {{X\left( {m + i} \right)}_{n} - {X\left( {m + i} \right)}_{n - 1}} \right)^{2} + \left( {{Y\left( {m + i} \right)}_{n} - {Y\left( {m + i} \right)}_{n - 1}} \right)^{2}}$

-   -    to calculate distance; if the result D(m+i)_(n)≧2W, then it is        determined what object m+1 drawn was a starting point of a line,        or a point, then going to the step 7; if D(m+i)_(n)<2W,        connecting coordinate (X(m+i)_(n−1), Y(m+i)_(n)), Y(m+1)_(n))        with a line of width W(m+i), then going to the step 7;    -   7. Continue to scan the RS232 port, the return back to step 1;

By repeating steps 1 to 5, points of coordinates (X(m)_(n+i),Y(m)_(n+i)) and X(m)_(n+(i−1)), Y(m)_(n+(i−1))), (X(m+1)_(n+i),Y(m+1)_(n+i)) and (X(m+1)_(n+(i−1)), Y(m+1)_(n+(m−1))), . . .(X(m+i)_(n+i), Y(m+i)_(n+i)) and (X(m+i)_(n+(i−1)), Y(m+i)_(n+(i−1)))are connected continuously, thus the track of the moving object orhandwriting can be re-constructed in real time on the white board on thecomputer screen, and the image can be stored or retrieved at any timebased on users' needs.

The main steps of this invention under computer interactive mode will bedescribed in details according to the flow chart of one embodiment asshown in FIG. 10:

Assuming: n is the scanning cycle sequence number, i is a constantranging from 1 to ∞, W is the diameter of the moving object, L is thephysical dimension of a receiving diode.

1. The computer scans the RS232 port under the application program, andreads coordinate value (Xn, Yn) or the “termination” mark uploaded fromthe microprocessor;

2. Following step 1, if “termination” mark is received, going to thestep 4; if coordinate value (Xn, Yn) and value W are received, movingthe mouse to the screen position corresponding to (Xn, Yn), then goingto the next step;

3. Judging if an object (X_(n−1), Y_(n−1)) was captured during lastscanning cycle; if yes, it is determined that the touching is going on,then going to the step 6; if not, it is determined that the touching hasjust started, then switching on the timer T, and starting the timer;going to the step 6;

4. The application program judges if T<100 ms on the timer; thethreshold can be set and adjusted by users by means of applicationsoftware; if not, it is determined as a void touching event, then goingto the step 6; if yes, it is determined as an effective touch, and goingto the next step;

5. Judging if the touching or clicking position (Xn, Yn) is in the validrange of the instruction; if yes, executing the click command inMicrosoft Windows system or another application software instruction,and at the same time, resetting the timer T to “0”, and going to thenext step; if not, resetting the timer T to “0”, and going to the nextstep;

6. Continuing scanning the RS232 port, and returning to step 1 to readcaptured coordinate values of the next cycle uploaded from themicroprocessor.

With the computer application program, by repeating steps 1-6, the aboveinteractive operation of this invention can be realized.

1. An interactive infrared electronic white board, wherein the infraredemitting array (611) horizontally and vertically lined up on the edge ofthe white board, and the corresponding infrared receiving array (621)horizontally and vertically lined up on the edge of the white board areconnected with the microprocessor (637) via the row driver, the columndriver respectively; the output port of the column driver (607) of theinfrared emitting array (611) is connected with the high frequencymodulated signal generator (640); the output port of the column driver(617) of the infrared receiving array (621) is connected with themicroprocessor (637) via the signal receiving circuit, theanalog-digital (A/D) converter (644), characterized in that: by means ofa curve equation including a tan(x) function, or a quadratic curveequation, or a curve equation of higher orders, the relationship betweenthe voltage generated by the infrared receiving diode and the blockedwidth di in the infrared light path blocked by the blocking object isestablished, and the equation for calculating the dimension W of theobject is:${W = {{\sum\limits_{i = j}^{N}d_{i}} = {d_{j} + {d_{j + 1}\ldots\mspace{11mu} d_{j + n}}}}},{N = {j + n}}$wherein, j is the sequence number of the receiving diode; D is theblocked width in the light path; n is a constant variable; and theequation for calculating the coordinates of the moving object is:$\begin{matrix}{X = {{j \times L} - d_{j} + {\left( {\sum\limits_{i = j}^{N}d_{i}} \right) \div 2}}} \\{Y = {{k \times L} - d_{k} + {\left( {\sum\limits_{i = k}^{N}d_{i}} \right) \div 2}}}\end{matrix}$ wherein j is the sequence number of the receiving diode onthe X axis; k is the sequence number of the receiving diode on the Yaxis; d is the blocked length in the light path; N: N=j+n, n is aconstant variable; after the values of W, and X, Y are defined,coordinate capturing, identification, track reconstruction and storageof the moving path of the moving object on the infrared white board canbe realized.
 2. An interactive infrared electronic white board accordingto claim 1, characterized in that: inside the microprocessor or computerthere is a standard data table based on experiments by listing the oneto one relationship between the voltage generated by the infraredreceiving diode and the blocked width di in the infrared light pathblocked by the blocking object, when the object is moving inside thelight path with different radius of emitting and receiving diodes; themicroprocessor can look up the value of blocked width di in the infraredlight path with the voltage value obtained from the infrared emittingdiode, thus implements the coordinate capturing, identification, trackreconstruction and storage of the moving object on the electronic whiteboard, or interpolate the blocked width di in infrared light pathobtained by the curve equation into the table, so as to get more precisevalues.
 3. An interactive infrared electronic white board according toclaim 1 or 2, characterized in that: the method of coordinate capturing,identification, track reconstruction and storage of moving objects is asfollows: assuming n is the scanning cycle sequence number; i is aconstant ranging from 1 to ∞; W is the diameter of the moving object; Lis the physical dimension of the infrared emitting and receiving diode;m is the object ID number; X(m) is the X coordinate of the object m;Y(m) is the Y coordinate of the object m; steps for coordinate capturingand storing of moving objects are: 1) the microprocessor writes the“row” and “column” address codes into “00H”, and outputs it to the rowand column driver address bus of the emitting and receiving diode arraythrough address ports; 2) row and column drivers of the emitting arrayswitch on the emitting diode located on the corresponding row andcolumn, said diode then starts to emit infrared high frequency modulatedpulses; at the same time, row and column drivers of the receiving arrayswitch on the corresponding receiving diode, since each pair of emittingand receiving diode is located on the same optical axis, correspondingone to one, the receiving diode starts to output analogy pulse signals;3) following step 2), a receiving conversion circuit converts thereceived analog pulse signal into analog voltage range signal, theninputs it to the analog-digital (A/D) converter, which in turn convertsthe analog voltage amplitude signal into discrete values; 4) followingstep 3), the microprocessor reads A/D voltage values from the A/D signalinput port, and makes judgments: if the value is near the peak value ofthe A/D voltage curve, i.e., when A/D value is at full range, thejudgment is that there is no blocking event, and going to the next step;otherwise, the judgment is that a blocking event happens, then themicroprocessor runs the conversion sub-program concerning the A/Dvoltages and moving coordinates, so as to obtain the Xn or Yn coordinatevalues, and going to the next step; 5) following step 4, judging whetherthe microprocessor timer overflows, if yes, going to step 6; otherwise,back to step 2; 6) at this stage, a scanning cycle for a unit, i.e.,scanning for a pair of emitting and receiving diodes, has accomplished;then the microprocessor judges if scanning of all row drive lines of allemitting and receiving arrays have been finished; if yes, going to step8; otherwise going to the next step; 7) the microprocessor adds 01H tothe row address code, and outputs it to the address bus of the rowdriver, then scanning of the next row of the emitting and receivingarrays starts; back to step 2; 8) judging whether scanning of all columndrive lines of all emitting and receiving arrays is finished, if yes,going to step 10; otherwise going to the next step; 9) themicroprocessor adds 01H to the column address code, resets the rowaddress code to 00H, then outputs the column address code to the addressbus of the column driver, and outputs the row address code to theaddress bus of the row address driver; the scanning of the next columnof the emitting and receiving arrays begins, then back to step 2; 10) atthis stage, a full scanning cycle, i.e., scanning of all emitting andreceiving diodes, has finished; a check is then made on if there is anmoving object captured; if not, going to step 12; if yes, going to thenext step; 11) if a single object is captured, storing the coordinates(Xn, Yn) of the moving object and the W values into the MMC storagedevice connected with the microprocessor based on the sequence number nof the scanning cycle, and uploading the data to computer through RS 232port; then going to step 14; if multiple objects are captured, storingcoordinates (X(m)n, Y(m)n), (X(m+1)n, Y(m+1), . . . , (X(m+i)n, Y(m+i)n)of the moving objects captured in this cycle and W(m), W(m+1), . . . ,W(m+i) values into the MMC storage device connected with themicroprocessor based on the sequence number n of the scanning cycle, anduploading the data to computer through RS 232 port; then going to step14; 12) judging if the interactive mode of the computer is on, if not,going to step 14; if yes, going to the next step; 13) judging if thecoordinate (X(n−1), Y(n−1) was captured during last scanning cycle, ifyes, uploading a “terminated” mark through the RS232 port to thecomputer to notify the application program that the moving object hasleft the capturing range; then going to the next step; if not, going tothe next step; 14) the microprocessor resets the row address code to00H, and the column address code to 00H, and outputs the column addresscode to the column driver address bus, the row address code to the rowdriver address bus; then returns to step 2 to continue next scanningcycle; wherein the conversion sub program concerning A/D voltage andmoving coordinates is: assuming d is the width of the blocked portion inthe light path blocked by the object, j is the sequence number of thereceiving diode on X axis, k is the sequence number of the emittingdiode on the Y axis; 1) after the microprocessor reads in the data fromthe A/D converter, it substitutes the data into a curve equationincluding a tan(x) function or a quadratic curve equation, or a curveequation of higher order to get the length or width di of the blockedportion in the light path of said receiving diode by the blockingobject, i.e., the height of the bow shape of the blocked portion; 2)then comparing the value di to the data table of the output voltagevariation curve of the receiving diode collected from experiments,interpolating, valuing, so as to get the final precise position di; 3)using the following equation, by the means of substituting the knownnumbers j, k, dimension L of the receiving diode, height di of the bowshape of the blocked portion in the light path, calculating for thecoordinates, the final moving positions on X, Y axis of the objectcaptured during scanning cycle n are: $\begin{matrix}{X_{n} = {{j \times L} - d_{j} + {\left( {\sum\limits_{i = j}^{N}d_{i}} \right) \div 2}}} \\{Y_{n} = {{k \times L} - d_{k} + {\left( {\sum\limits_{i = k}^{N}d_{i}} \right) \div 2}}}\end{matrix}$ 4) storing said coordinate values Xn or Yn of the movingobjects into the registers of the microprocessor; if multiple users areusing the white board, i.e., more than one coordinates exist on axis Xor Y, then, saving multiple (X(m), X(m+1)n . . . . X(m+i)n or multiple(Y(m)n, Y(m+1)n, . . . Y(m+i)n) into the registers of themicroprocessor; 5) returning to the main program; wherein the method ofidentification, track reconstruction and storage of a single movingobject is: (1) the computer scans the RS232 port through the applicationprogram, and after reading coordinates (Xn, Yn) values and scanningcycle sequence numbers uploaded from the microprocessor, the applicationprogram starts to judge whether there are (X(n−1), Y(n−1)) coordinatescaptured during last scanning cycle; if not, going to step 3; if yes,going to the next step; (2) substituting coordinates (X(n−1), Y(n−1))captured during last scanning cycle and the current coordinates (Xn, Yn)into the equation to calculate the distance between coordinates and toreach value D, then comparing D to the standard value, which is adjustedbased on users' needs, but should not be less than 2W; if D<2w, then,going to step 4; if D≧2W, going to the next step; (3) judging whetherthis is a starting point of another line or a different point, thenjudging type of the object; assuming W≦2L, which can be adjusted basedon users' needs, then, it is confirmed that the moving object is a pen,the application software starts to draw a black point of diameter W atthe corresponding position of coordinates (Xn, Yn) on the screen; ifW>2L, it is confirmed the moving object is an eraser, then theapplication software draws a white point of diameter W at thecorresponding position of coordinates (Xn, Yn), i.e., erasing the point;then going to step 5; (4) going on to judge the type of the object, ifW≦2L, which can be adjusted based on users' needs, it is confirmed thatthe object is a pen, and connecting points of coordinates (X(n−1),Y(n−1)) and (Xn, Yn) with a black line of diameter W, then going to thenext step; if W>2L, it is confirmed that the moving object is an eraser,connecting points of coordinates (X(n−1), Y(n−1)) and (Xn, Yn) with awhite line of diameter W, then going to the next step; (5) continuing toscan the RS232 port, then returning to step
 1. 4. An interactiveinfrared electronic white board according to claim 1 or 2, characterizedin that: the method of capturing, identification and trackreconstruction of multiple moving objects is as follows: 1) the computerscans the RS232 port through the application program, and after readingcoordinate values (X(m)n, Y(m)n), (X(m+1)n, Y(m+1)n), . . . (X(m+i)n,Y(m+i)n), W(m), W(m+1), . . . W(m+i) and sequence numbers of scanningcycles uploaded from the microprocessor, then saves those data into thecomputer memory, and uses the W value to decide the type of objects,i.e, if W(m) or W(m+1) or W(m+i)≧2L, which can be adjusted based onusers' needs, and might be W>3L or another value, if yes, it isdetermined that the object is an eraser, then exiting the multipleobject capturing program, and going to the single object capturingprogram; otherwise, it is determined that the objects are multipleblocking objects, and going to the next step; 2) substituting coordinatevalues (X(m)_(n)Y(m)_(n)), (X(m+1)_(n), Y(m+1)_(n)), . . . (X(m+i)_(n),Y(m+i)_(n)) into the equation${{D\left( {m + i} \right)} = \sqrt{\left( {{X\left( {m + i} \right)} - {X\left( {m + \left( {i - 1} \right)} \right)}} \right)^{2} + \left( {{Y\left( {m + i} \right)} - {Y\left( {m + \left( {i - 1} \right)} \right)}} \right)^{2}}},$ and calculating distance between different objects within one cycle, toreach the value D(m+i); then judging if those coordinates arecontinuous, i.e., if D(m+i)<2W; if yes, it is determined that the objectis an eraser, and going to the single object capturing program;otherwise, it is determined that the objects are multiple block objects,and going to the next step; 3) the application program starts to judgeif coordinates of the moving objects (m)_(n−1), (m+1)_(n−1), . . .(m+i)_(n−1)m were captured during last scanning cycle; if object m wascaptured, going to the step 4; if object m was not captured, drawing apoint of width W(m) at the position of coordinate (X(m)_(n),Y(m)_(n)),then going to the step 7; if object m+1 was captured, going to the step5; if object m+1 was not captured, drawing a point of width W(m+1) atthe position of coordinate (X(m+1)_(n),Y(m+1)_(n)), then going to step7; if object m+i was captured, going to the step 6; if object m+i wasnot captured, drawing a point of width W(m+i) at the position ofcoordinate (X(m+i)_(n), Y(m+i)_(n)), then going to the step 7; 4)substituting the coordinate (X(m)_(n−1), Y(m)_(n−1)) of the object mcaptured during last scanning cycle and the current coordinate(X(m)_(n), Y(m)_(n)) into the formula D(m)_(n)=√{square root over((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)}{square root over((X(m)_(n)−X(m)_(n−1))²+(Y(m)_(n)−Y(m)_(n−1))²)} to calculate distance;if the result D(m)_(n)≧2L, then it is determined what object m drawn wasa starting point of a line, or a point then goung to the step 7; ifD(m)_(n)<2L, connecting the points of coordinates (X(m)_(n−1),Y(m)_(n−)) and X(m)_(n), Y(m)_(n)) with a line of width W(m), then goingto the step 7; 5) substitute coordinate (X(m+1)_(n−1), Y(m+1)_(n−1)) ofthe object m+1 captured during the last scanning cycle and the currentcoordinate (X(m)_(n), Y(m)_(n)) into the formula${D\left( {m + 1} \right)}_{n} = \sqrt{\left( {{X\left( {m + 1} \right)}_{n} - {X\left( {m + 1} \right)}_{n - 1}} \right)^{2} + \left( {{Y\left( {m + 1} \right)}_{n} - {Y\left( {m + 1} \right)}_{n - 1}} \right)^{2}}$ to calculate distance; if the result D(m+1)_(n)≧2W, then it isdetermined that what object m+1 drawn was a starting point of a line, ora point, then going to the step 7; if D(m+1)_(n)≧2W, connecting thepoints of coordinates (X(m+1)_(n−1), Y(m+1)_(n−1)) and X(m+1)_(n),Y(m+1)_(n)) with a line of width W(m+1), then going to the step 7; 6)substituting coordinate (X(m+i)_(n−1), Y(m+i)_(n−1)) of the object m+1captured during the last scanning cycle and the current coordinate(X(m+i)_(n), Y(m+i)_(n)) into the formula${D\left( {m + i} \right)}_{n} = \sqrt{\left( {{X\left( {m + i} \right)}_{n} - {X\left( {m + i} \right)}_{n - 1}} \right)^{2} + \left( {{Y\left( {m + i} \right)}_{n} - {Y\left( {m + i} \right)}_{n - 1}} \right)^{2}}$ to calculate distance; if the result D(m+i)_(n)≧2W, then it isdetermined what object m+1 drawn was a starting point of a line, or apoint, then going to the step 7; if D(m+i)_(n)<2W, connecting points ofcoordinates (X(m+i)_(n−1), Y(m+i)_(n−1)), Y(m+1)_(n)) with a line ofwidth W(m+i), then going to the step 7; 7) continuing to scan the RS232port, then returning back to step
 1. 5. An interactive infraredelectronic white board according to claim 1 or 2, characterized in that:the application program for the mode under which the electronic whiteboard is interactive with the computer is as follows: 1) the computerscans the RS232 port under the application program, and reads coordinatevalue (Xn, Yn) or the “termination” mark uploaded from themicroprocessor; 2) following step 1, if “termination” mark is received,going to the step 4; if coordinate value (Xn, Yn) and value W arereceived, moving the mouse to the screen position corresponding to (Xn,Yn), then going to the next step; 3) judging if an object (X_(n−1),Y_(n−1)) was captured during last scanning cycle; if yes, it isdetermined that the touching is going on, then going to the step 6; ifnot, it is determined that the touching has just started, then switchingon the timer T, and starting the timer; going to the step 6; 4) theapplication program judges if T<100 ms on the timer; the threshold canbe set and adjusted by users by means of application software; if not,it is determined as a void touching event, then going to the step 6; ifyes, it is determined as an effective touch, and going to the next step;5) judging if the touching or clicking position (Xn, Yn) is in the validrange of the instruction; if yes, executing the click command inMicrosoft Windows system or another application software instruction,and at the same time, resetting the timer T to “0”, and going to thenext step; if not, resetting the timer T to “0”, and going to the nextstep; 6) continuing scanning the RS232 port, and returning to step 1 toread captured coordinate values of the next cycle uploaded from themicroprocessor.